package org.edu.modules.stu.shet.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.edu.common.base.BaseEntity;
import java.math.BigDecimal;
import java.sql.Date;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;

/**
 * entity-社团活动
 */
@TableName("ve_stu_assoc_activity")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="社团活动对象", description="ve_stu_assoc_activity")
public class VeStuAssocActivity extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField
    @ApiModelProperty(value = "社团id")
        private Integer assocId;

    @TableField
    @ApiModelProperty(value = "活动类型id")
        private Integer typeId;

    @TableField
    @ApiModelProperty(value = "活动主题")
    @Length(max = 50)
        private String theme;

    @TableField
    @ApiModelProperty(value = "活动开始时间")
        @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
        private Date startTime;

    @TableField
    @ApiModelProperty(value = "活动结束时间")
        @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
        private Date endTime;

    @TableField
    @ApiModelProperty(value = "活动地点")
    @Length(max = 100)
        private String place;

    @TableField
    @ApiModelProperty(value = "活动费用")
        private BigDecimal price;

    @TableField
    @ApiModelProperty(value = "活动介绍")
    @Length(max = 65535)
        private String intro;

    @TableField
    @ApiModelProperty(value = "添加学生id")
    @Length(max = 11)
        private String addStuId;

    @TableField
    @ApiModelProperty(value = "")
    @Length(max = 255)
        private String addStuName;

    @TableField
    @ApiModelProperty(value = "添加时间")
        private Integer addTime;

    @TableField
    @ApiModelProperty(value = "活动查看次数")
        private Integer viewCount;
}
